home *** CD-ROM | disk | FTP | other *** search
/ Chip: 2005 Utilities / CHIP Utilities 2005.7z / CHIP Utilities 2005.iso / images / arachne.igz / arachne.img / LEVEL1 / ASPIUSB.CAB / Bin / Aspiusb.bat next >
DOS Batch File  |  2005-01-16  |  7KB  |  235 lines

  1. @if "%debug%"=="" echo off
  2. if "%1"==":" if not "%2"=="" goto %2
  3. :: Aspiusb Begin ::
  4.  
  5. if not exist %ramdrv%\bin\lmod.com %0 : _error missing lmod.com (check utils.%arcext%)
  6. if not exist %ramdrv%\bin\varset.com %0 : _error missing varset.com (check utilz.%arcext%)
  7.  
  8. :_start
  9. echo. >%tmp%\_usb.tmp
  10. if not exist %ramdrv%\etc\global.set goto _noglob
  11. type %ramdrv%\etc\global.set >%tmp%\_usb.tmp
  12. :_noglob
  13. if not exist %ramdrv%\etc\aspiusb.set goto _nospec
  14. type %ramdrv%\etc\aspiusb.set >%tmp%\_usb.tmp
  15. :_nospec
  16. xgrep -sy "^[:s]*@*[:s]*s?e?t?[:s]*USB_.+=" %tmp%\_usb.tmp >%tmp%\_usb.bak
  17. if errorlevel 1 goto _noset
  18. xgrep -sy "^[:s]*@*[:s]*set[:s]+" %tmp%\_usb.bak >%tmp%\_usb.bat
  19. xgrep -syv "^[:s]*@*[:s]*set[:s]+" %tmp%\_usb.bak >%tmp%\_usb.tmp
  20. if errorlevel 1 goto _runset
  21. lmod /L* set []<%tmp%\_usb.tmp >>%tmp%\_usb.bat
  22. :_runset
  23. call %tmp%\_usb.bat
  24. :_noset
  25.  
  26. if not "%usb_ti%"=="" goto _nodef
  27. set usb_ti=5
  28. set usb_verbose=1
  29. set usb_host=1
  30. :_nodef
  31.  
  32. for %%i in (-c -C) do if "%1"=="%%i" goto _config
  33. if "%1"=="/c" goto _config
  34. if "%1"=="/C" goto _config
  35. for %%i in (-h -H -?) do if "%1"=="%%i" goto _usage
  36. if "%1"=="/h" goto _usage
  37. if "%1"=="/H" goto _usage
  38. if "%1"=="/?" goto _usage
  39.  
  40. if "%usb_ncfg%"=="1" goto _nocfg
  41. set wcb1=%usb_install%
  42. call w.bat box @%0:w_cfg #2,%usb_ti%
  43. if errorlevel 3 goto _end
  44. set usb_install=%wcb1%
  45. if errorlevel 2 goto _config
  46. :_nocfg
  47.  
  48. :_install
  49. if not exist %ramdrv%\bin\usbaspi.sys goto _skipinst
  50. if "%usb_install%"=="1" goto _doinst
  51. :_skipinst
  52. echo ASPIUSB: Skipping USB installation
  53. goto _end
  54. :_doinst
  55. if not exist SCSIMGR$ goto _do2inst
  56. echo ASPIUSB: USBASPI.SYS already installed
  57. goto _skipASPI
  58. :_do2inst
  59. set _usb=
  60. if "%usb_ehci%"=="1" set _usb=%_usb% /e
  61. if "%usb_ohci%"=="1" set _usb=%_usb% /o
  62. if "%usb_uhci%"=="1" set _usb=%_usb% /u
  63. if "%usb_verbose%"=="1" set _usb=%_usb% /v
  64. if "%usb_wait%"=="1" set _usb=%_usb% /w
  65. if "%usb_resident%"=="1" set _usb=%_usb% /r
  66. if "%usb_slow%"=="1" set _usb=%_usb% /slow
  67. if "%usb_nocbc%"=="1" set _usb=%_usb% /nocbc
  68. if "%usb_noprt%"=="1" set _usb=%_usb% /noprt
  69. if "%usb_norst%"=="1" set _usb=%_usb% /norst
  70. if not "%usb_extra%"=="" set _usb=%_usb% %usb_extra%
  71. echo ASPIUSB: new PC prefers EHCI (/e), old PC prefers UHCI (/u)
  72. echo ASPIUSB: USB-mouse/keyboard may malfunction with UHCI (/u)
  73. echo ASPIUSB: Installing USBASPI.SYS %_usb%
  74. if exist %ramdrv%\bin\snap.com snap.com S=%tmp%\usbaspi.bin
  75. device %ramdrv%\bin\usbaspi.sys %_usb%
  76. if not exist SCSIMGR$ if exist %tmp%\usbaspi.bin del %tmp%\usbaspi.bin >%tmp%\nul
  77. :_skipASPI
  78. set _usb=
  79.  
  80. if exist SCSIMGR$ goto _instok
  81. echo ASPIUSB: USBASPI.SYS not installed (no USB device detected)
  82. goto _end
  83. :_instok
  84.  
  85. if "%usb_nodisk%"=="1" goto _skipDD
  86. if not exist %ramdrv%\bin\di1000dd.sys goto _skipDD
  87. if not "%usb_host%"=="" set _usb=/h%usb_host%
  88. if not "%usb_drv%"=="" set _usb=%_usb% /d%usb_drv%
  89. echo ASPIUSB: Installing DI1000DD.SYS %_usb%
  90. if exist %ramdrv%\bin\snap.com snap.com S=%tmp%\di1000dd.bin
  91. call devhigh %ramdrv%\bin\di1000dd.sys %_usb%
  92. :_skipDD
  93. set _usb=
  94.  
  95.  
  96. goto _end
  97.  
  98. :_config
  99. echo :w_config "USB configuration" [x]>%tmp%\_usb.tmp
  100. echo.>>%tmp%\_usb.tmp
  101. echo Dialog timeout [$ usb_ti,3] seconds>>%tmp%\_usb.tmp
  102. echo [!] Skip "Run USB or go config?" dialog>>%tmp%\_usb.tmp
  103. echo.>>%tmp%\_usb.tmp
  104. echo [.] Install USB to ASPI/SCSI driver: >>%tmp%\_usb.tmp
  105. echo     On 'new' PC pick EHCI only, on 'old' PC UHCI only>>%tmp%\_usb.tmp
  106. echo     [!] Ehci USB 2.0            (new PC) >>%tmp%\_usb.tmp
  107. echo     [!] Ohci USB 1.1 add-on >>%tmp%\_usb.tmp
  108. echo     [!] Uhci USB 1.1 integrated (old PC) >>%tmp%\_usb.tmp
  109. echo     [!] Verbose (show info, recommended) >>%tmp%\_usb.tmp
  110. echo     [!] Wait (pause to attach USB device) >>%tmp%\_usb.tmp
  111. echo     [!] Resident (use when booting from USB flop) >>%tmp%\_usb.tmp
  112. echo     [!] Slow (use longer delays with USB detection) >>%tmp%\_usb.tmp
  113. echo     [!] NoReset (no Reset on USB Keyb/Mouse) >>%tmp%\_usb.tmp
  114. echo.>>%tmp%\_usb.tmp
  115. echo     Install USB ASPI Mass Storage Driver:>>%tmp%\_usb.tmp
  116. echo     [$ usb_host,1] Host Controller (1..9 or blank for auto) >>%tmp%\_usb.tmp
  117. echo     [$ usb_drv,1,U] First Drive Letter (blank for auto) >>%tmp%\_usb.tmp
  118. if "%ramdrv%"=="" goto _tref
  119. echo       (choose higher drive than '%ramdrv%' or leave blank) >>%tmp%\_usb.tmp
  120. :_tref
  121. echo [.] Do NOT install USB to ASPI/SCSI driver >>%tmp%\_usb.tmp
  122. goto _qaw
  123. echo.>>%tmp%\_usb.tmp
  124. echo     [!] NoCBC (no Card Bus Controller detection) >>%tmp%\_usb.tmp
  125. echo     [!] NoPRT (? no Printer detection ?) >>%tmp%\_usb.tmp
  126. :_qaw
  127. echo.>>%tmp%\_usb.tmp
  128. echo               [ Save ]  [? Cancel ]>>%tmp%\_usb.tmp
  129.  
  130. set wrb=%usb_install%
  131. if not "%wrb%"=="1" set wrb=2
  132. set wcb1=%usb_ncfg%
  133. set wcb2=%usb_ehci%
  134. set wcb3=%usb_ohci%
  135. set wcb4=%usb_uhci%
  136. set wcb5=%usb_verbose%
  137. set wcb6=%usb_wait%
  138. set wcb7=%usb_resident%
  139. set wcb8=%usb_slow%
  140. set wcb9=%usb_norst%
  141. call w.bat box @%tmp%\_usb.tmp:w_config
  142. if errorlevel 2 goto _end
  143. set usb_install=%wrb%
  144. if not "%wrb%"=="1" set usb_install=0
  145. set usb_ncfg=%wcb1%
  146. set usb_ehci=%wcb2%
  147. set usb_ohci=%wcb3%
  148. set usb_uhci=%wcb4%
  149. set usb_verbose=%wcb5%
  150. set usb_wait=%wcb6%
  151. set usb_resident=%wcb7%
  152. set usb_slow=%wcb8%
  153. set usb_norst=%wcb9%
  154. set t_out=1
  155. call drd.bat %srcdrv%
  156. if errorlevel 1 set t_out=0
  157. wbat box @%0:w_wprot #1,%t_out%
  158. set t_out=
  159. if errorlevel 2 goto _start
  160.  
  161. echo ASPIUSB: Saving configuration...
  162. set | tfind /f1,4 "USB_">%tmp%\_usb.bat
  163. if not exist %srcdrv%\etc\*.* mkdir %srcdrv%\etc
  164. if not exist %ramdrv%\etc\global.set goto _yglob
  165. xgrep -syv "^[:s]*@*[:s]*s?e?t?[:s]*USB_.+=" %ramdrv%\etc\global.set >>%tmp%\_usb.bat
  166. :_yglob
  167. type %tmp%\_usb.bat >%srcdrv%\etc\global.set
  168. type %tmp%\_usb.bat >%ramdrv%\etc\global.set
  169. if exist %srcdrv%\etc\aspiusb.set del %srcdrv%\etc\aspiusb.set >%tmp%\nul
  170. if exist %ramdrv%\etc\aspiusb.set del %ramdrv%\etc\aspiusb.set >%tmp%\nul
  171. echo ASPIUSB: Configuration saved to %srcdrv%\etc\global.set
  172. echo.
  173. goto _start
  174. :w_cfg "Run USB or go config?" [x]
  175.        (~press any key~: #? sec.)
  176.  
  177.   [!] Running ASPIUSB ...
  178.  
  179.   (Skip running ASPIUSB when it
  180.    disables your USB-Keyboard
  181.    and/or USB-Mouse or try
  182.    enabling EHCI-only)
  183.  
  184.   [ Ok ] [ Config ] [? Abort ]
  185. ::
  186. :w_wprot "Disable write protection..." [x]
  187.  
  188.   If the disk in drive %srcdrv% is write
  189.   protected, please disable the write
  190.   protection now in order to save settings.
  191.   You can re-enable write protection after
  192.   saving.
  193.  
  194.             [ Ok ]  [? Cancel ]
  195. ::
  196. :_usage
  197. echo Parameters:
  198. echo -c    Config mode
  199. echo -h    This help info
  200. echo.
  201. goto _end
  202. :_error
  203. shift
  204. shift
  205. echo.
  206. echo ASPIUSB: Error %1 %2 %3 %4 %5 %6 %7 %8
  207. echo.
  208. @rem pause
  209. goto _end
  210. :_abort
  211. echo ASPIUSB: Aborted...
  212. echo.
  213. @rem pause
  214. :_end
  215. set | tfind /f1,2 "W_" >%tmp%\_usb.tmp
  216. set | tfind /f1,4 "USB_" >>%tmp%\_usb.tmp
  217. type %tmp%\_usb.tmp | lmod /L* /B= set [$1]=>%tmp%\_usb.bat
  218. call %tmp%\_usb.bat
  219. if exist %tmp%\_usb.* del %tmp%\_usb.*
  220. set _usb=
  221. set ?=
  222. set wcb1=
  223. set wcb2=
  224. set wcb3=
  225. set wcb4=
  226. set wcb5=
  227. set wcb6=
  228. set wcb7=
  229. set wcb8=
  230. set wcb9=
  231. set wrb=
  232. set wbat=
  233. :: Aspiusb End ::
  234.  
  235.